Virtual view rendering is an important means of converting a 2D image into a 3D image. Virtual view rendering includes steps of image collection, image registration, depth map estimation, virtual view generation, and the like in a scene. Before virtual view rendering is performed, an image in the scene needs to be collected, and there are multiple manners of collecting the image in the scene, in which a manner of collecting the image in the scene by using a camera array is widely used.
In the prior art, a large quantity of manners of arranging a camera array, for example, a high-density camera array, a sparse camera array, a distributed light field camera array, a planar camera array, and the like, are proposed, where the planar camera array is an effective manner of collecting the image in the scene.
However, in practice, due to errors in locations at which cameras are placed, accurate alignment is usually very difficult for a planar camera array. After horizontally or vertically adjacent cameras that are unaligned are used to collect images, corresponding pixels of the collected images are not necessarily located in a horizontal or vertical direction, and a search scope of corresponding pixels needs to be expanded, resulting in high complexity of an algorithm for image registration, which adversely affects subsequent real-time rendering of a virtual viewpoint.